<!DOCTYPE html>
<html>
  <head>
    <link rel="canonical" href="http://blog.csdn.net/csdnnews/article/details/78903356"/> 
    <script type="text/javascript">
        var username = "csdnnews";
        var _blogger = username;
        var blog_address = "http://blog.csdn.net/csdnnews";
        var static_host = "http://csdnimg.cn/release/phoenix/";
        var currentUserName = ""; 
        var fileName = '78903356';
        var commentscount = 0;
        var islock = false
        window.quickReplyflag = true;
        var totalFloor = 0;
        var isBole = false;
        var isDigg = false;
        var isExpert=false;
        var isAdm = false;
    </script>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <script src="http://c.csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="http://c.csdnimg.cn/public/common/libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="http://c.csdnimg.cn/public/static/css/avatar.css">
    <link rel="stylesheet" href="http://csdnimg.cn/release/phoenix/production/main-f7fb2ae533.css">
    <link rel="stylesheet" href="http://c.csdnimg.cn/public/common/toolbar/content_toolbar_css/content_toolbar.css">

    <script src="http://csdnimg.cn/rabbit/exposure-click/main-1.0.5.js"></script>
    <script type="text/javascript" src="http://csdnimg.cn/pubfooter/js/tracking-1.0.2.js" charset="utf-8"></script>
    <script type="text/javascript" src="http://csdnimg.cn/release/phoenix/production/main-9512850059.js"></script>

    <script src="http://dup.baidustatic.com/js/ds.js"></script>
    <script type="text/javascript">
        // Traffic Stats of the entire Web site By baidu
        var _hmt = _hmt || [];
        (function() {
            var hm = document.createElement("script");
            hm.src = "https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(hm, s);
        })();
        // Traffic Stats of the entire Web site By baidu end
    </script>
    <meta name="description" content="点击上方“CSDN”，选择“置顶公众号”关键时刻，第一时间送达！作者简介：魏永强，一直致力于百万级访问量企业应用开发，架构工作，参与猪八戒金融产品八戒金融系统的开发，猪八戒 BOSS 支撑系统开发，中航地产重庆发布会中负责实时活动系统的架构及开发工作，负责架构及开发了永川万达微信营销平台。重庆毅荣德电子商务有限公司项目架构技术顾问。喜欢玩儿各种新技术，喜欢探究。感谢有这样的机会，能和大家一起来聊聊" />
    <meta name="keywords" content="" />
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <title>PHP 程序员危机：如何快速成长为不可或缺的技术人才？ - CSDN博客</title>
    <link href="http://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
</head>
<body>
<script id="toolbar-tpl-scriptId" prod="download" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/content_toolbar.js" type="text/javascript" domain="http://blog.csdn.net/"></script>
<div class="container clearfix">
  <main>
    <article>
        <h1 class="csdn_top">PHP 程序员危机：如何快速成长为不可或缺的技术人才？</h1>
        <div class="article_bar clearfix">
            <div class="artical_tag">
                <span class="original">
                转载                </span>
                <span class="time">2017年12月26日 00:00:00</span>
            </div>

            <ul class="article_tags clearfix csdn-tracking-statistics tracking-click" data-mod="popu_377" >
                <li class="tit">标签：</li>

<!--          [startarticletags]-->
                <!--          [endarticletags]-->
            </ul>
            <ul class="right_bar">
                <li><button class="btn-noborder"><i class="icon iconfont icon-read"></i><span class="txt">243</span></button></li>
                <li class="edit">
                    <a class="btn-noborder" href="" >
                        <i class="icon iconfont icon-bianji"></i><span class="txt">编辑</span>
                    </a>
                </li>
                <li class="del">
                    <a class="btn-noborder" onclick="javascript:deleteArticle(fileName);return false;">
                        <i class="icon iconfont icon-shanchu"></i><span class="txt">删除</span>
                    </a>
                </li>
            </ul>
        </div>
        <div id="article_content" class="article_content csdn-tracking-statistics tracking-click" data-mod="popu_519" data-dsm="post">
                        
    <div class="rich_media_content" id="js_content">
                    

                    

                    
                    
                    <p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;text-align:center;letter-spacing:1px;"><span style="color:#7F7F7F;font-size:14px;line-height:1.75em;">点击上方“</span><span style="font-size:14px;line-height:1.75em;color:#00B0F0;">CSDN</span><span style="color:#7F7F7F;font-size:14px;line-height:1.75em;">”，选择“置顶公众号”</span><span style="color:#7F7F7F;font-size:14px;"></span></p><p style="min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:25.6px;text-align:center;letter-spacing:1px;"><span style="color:#7F7F7F;font-size:14px;">关键时刻，第一时间送达！</span></p><blockquote><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="font-size:14px;color:rgb(136,136,136);"><strong>作者简介：</strong>魏永强，一直致力于百万级访问量企业应用开发，架构工作，参与猪八戒金融产品八戒金融系统的开发，猪八戒 BOSS 支撑系统开发，中航地产重庆发布会中负责实时活动系统的架构及开发工作，负责架构及开发了永川万达微信营销平台。重庆毅荣德电子商务有限公司项目架构技术顾问。喜欢玩儿各种新技术，喜欢探究。</span></p></blockquote><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:rgb(0,0,0);">感谢有这样的机会，能和大家一起来聊聊开发者的那些事儿。<br /></span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:rgb(0,0,0);line-height:1.6;">其实程序员危机是一个真实存在的问题。也有人说是互联网行业的下滑或者互联网行业已过了风口等等。我在这儿主要谈的是 PHP 程序员的危机，而这种危机多半来自于丰富的语言种类和公司对语言的选择上。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:rgb(0,0,0);line-height:1.6;">尤其是近几年非常火热的人工智能，机器学习等等，还有推上风口的 python。这多少会带动一些人盲目跟风。其实开发工程师对自己知识体系的扩充和转型都需要有一个明确的目标。跟风是一件比较危险的事情，转型也不同于丢掉自己所有的东西。我想通过程序员的诞生和程序员的成长来讨论，究竟该如何选择。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><strong><span style="color:#000000;line-height:1.6;font-size:16px;">我将从以下几个方面来说明：</span></strong></p><ul class="list-paddingleft-2"><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">PHP 程序员的现状；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">什么导致了程序员的分层；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">高级工程师需要达到的要求；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">程序员如何快速成长；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">PHP 程序员渴望的蜕变；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">干货，你需要的转型路线；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;letter-spacing:1.5px;"><span style="color:rgb(0,0,0);line-height:1.6;">总结。</span></p></li></ul><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);"></span></h3><p style="text-align:center;"><img class="img_loading" src="http://ss.csdn.net/p?https://mmbiz.qpic.cn/mmbiz_jpg/Pn4Sm0RsAugBA1C4gUxwiarVFlRfVDrlXB3AEhxYynDC5a3PPPoOzARtxkYMrFxmIupN9Q8iaViazN4GaG80YE9vQ/0?wx_fmt=jpeg" alt="0?wx_fmt=jpeg" /></p><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);">PHP 程序员的现状</span></h3><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">现阶段大部分 PHP 程序员都比较迷茫，初级 PHPer 觉得这个行业难，中级 PHPer 大都想通过学习来提升自己，但往往会陷入今天追这个技术明天追那个技术的一种情况，高级 PHPer 大都有了自己的知识体系，部分在架构的位置。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">程序员对自己的行业认识是非常重要的，也就是职业生涯规划。这是一个比较难的问题，因为要对自己的职业有所规划，首先要充分了解行业。这一点和当初为什么选择做程序员有很大的关系。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">一般来说，如果你很难熬过开发生涯的入门期，可能说明你不适合这个行业；如果你无法通过蜕变期，你可能就不会有太大的成就。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">每个人开发生涯的入门各有不同，一部分人是对于这个行业感兴趣自己心中也有一个目标，虽然没有清晰的职业规划，但至少会有一个该领域的偶像。还有一部分人是经过三、四个月的培训进入这个行业的。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">我之前用重庆互联网学院中某家培训机构（YMSD）的数据分析过，在这部分培训进入行业的学生中 2 年后还在这个岗位继续发展的学生仅仅占有 20%。也就是说 80% 的学生花钱花时间只是做了回陪跑员。这也从侧面说明，如果我们进入这个行业，除了期望让自己能够挣到很多钱，也必须对以后的发展有个预期。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">一般来说，通过培训入行的开发人员在工作中会走得非常艰难，因为他们没有技术路线的体系目标，而在线下培训机构中接受的是一味地模仿，非常缺乏创新能力。而且据我所知，大部分线下培训机构的课程体系至少和企业场景脱节 5 年。所以这部分程序员更应该努力改变自己的现状，明确自己的处境。</span></p><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);">什么导致了程序员分层</span></h3><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">程序员分层是一个非常明显的问题，在公司里直接的体现就是同一类程序员的职位差别非常大或者薪资待遇非常大。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">导致这种分层的原因是什么？</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">第一类原因就是程序开发者的工作年限。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">其实工作年限也不是一个非常重要的因素，确实在之前的面试中，我们遇到过工作年限只有一年但是非常优秀的开发者。但凡是使用求职软件时就会发现，几乎所有的职位描述里都有一个指标——工作经验年限。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">为什么有这个东西呢？因为公司招聘人员与众多求职者逐一沟通是非常耗时间、精力的，所以工作年限就是第一道门槛。</span></p><ul class="list-paddingleft-2"><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;"><span style="color:rgb(0,0,0);line-height:1.6;">一般 1-3 年工作经验是一个层次，在北京一般薪资范围是 10-20k 之间；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;"><span style="color:rgb(0,0,0);line-height:1.6;">3-5 年又是一个层次，在北京薪资范围是 15-25k；</span></p></li><li><p style="margin-top:15px;min-height:1em;line-height:1.75em;"><span style="color:rgb(0,0,0);line-height:1.6;">5 年及以上又是多个层次。</span></p></li></ul><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">当然，1-3 年的工作经验也可能获得 3-5 年工作经验一样的薪资待遇，这个主要看实力，我们的 Chat 也主要是讨论这一部分的因素。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">在之前的小节我已经说了程序员大概分为科班出身和半路出家的两类，我并不是说科班出身的就一定会比半路出家的优秀，这完全是两回事。只是科班出身表示他的知识面更广一些，所以其他人也应该注重知识面和基础功。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">在这次 Chat 中我并没有把问题指向到某一个语言，因为作为开发工程师太注重语言往往会成为自己的绊脚石。</span></p><h4 style="margin:15px 8px 1em;font-weight:bold;font-size:medium;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;font-size:16px;color:#C00000;">追语言的人</span></h4><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">经常遇见这样的问题：和开发的朋友一起聊天，上回见面说在学习前端技术，一个月后见面又说在学习 Python，说还是 Python 好用。再过一个月见面又说在研究 Go 语言，说 Go 语言以后一定是潮流。这一类人我把他们称之为 ‘追语言的人’。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">记得不要盲目追随一门语言，因为你掌握任何一门高级语言后，对于语法的入门来说都是非常快的，而且现在的语言的语义化非常友好，我们学习及接触都非常容易。其实我们最需要了解的是语言的特性。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">比如说很多人想学习机器学习都去学习 Python 等，那我们需要思考的是为什么会选择 Python 语言，还有 R 语言、Java、JavaScript、C、C++、Scala 等。它有什么优势？</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">这样思考，当公司遇到其他比当前更为复杂的场景时，你就能知道这种特点的场景应该用什么样的语言及技术栈来解决。你对开发的认识就上升到了另一个层面。</span></p><h4 style="margin:15px 8px 1em;font-weight:bold;font-size:medium;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;font-size:16px;color:#C00000;">自娱自乐的人</span></h4><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">有种人就是重复的做同样的事情觉得很有成就感的，这样虽然没有大错，但是会导致我们停滞不前。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">经常能听见有人这么说：我们公司事情少，做完就没事干了，很无聊。其实这就说明他放弃了自己成为更优秀的程序员的机会，学习是进步的阶梯。就算当前你们公司没有用这个技术，你也应该利用空闲时间去学习。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">其实导致程序员分层的主要原因就是学习的习惯。为什么这样说？因为导致分层的最直接原因是知识面，而知识面的形成需要不断学习，学习的效率也很关键。之前我从很多人口中听到他们抱怨技术主管的技术水平不如他们。这也是两个层次程序员不同的表现吧，因为看待问题的角度不同，没能将解决问题和提供方案两者的关系搞清楚。</span></p><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);">程序员如何快速成长</span></h3><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(85,85,85);line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:rgb(0,0,0);letter-spacing:1.5px;">我们主要是探讨，抛砖引玉。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(85,85,85);line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:rgb(0,0,0);letter-spacing:1.5px;"><span style="color:#555555;white-space:pre-wrap;"></span><span>首先我们要看到的字眼是</span><span>成长</span><span>。</span></span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">我之前带过一个程序员，他也是做了一年的开发了。我让他通过 User-Agent 来判断用户是不是在微信中访问的，结果他问我什么是 User-Agent。大家别觉得可笑，其实不知道的人大有人在，为什么呢？因为他们只注重于自己的 CURD 能力了。我不是说 CURD 不好，只是因为 CURD 就像了解 User-Agent 一样只是基础。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">对于开发人员来说了解计算机网络方面的知识非常重要，计算机相关专业毕业的都学习过计算机网络这门课程。非计算机专业也没有关系，最基本的 http 请求报文和相应报文的结构都应该了解一些，这些都是基础。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">之前我在培训机构机械化时，我让学生背诵的面试题中还有 mysql 的 InnoDb 和 MyISAM 引擎的区别，每当看到学生回答一个支持事务一个不支持事务，然后看着领导高兴到想笑的表情时，我就想笑。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">支持事务是一个区别，那我不需要支持事务，我使用 InnoDb 的引擎又有什么问题呢？所以我觉得脱离场景谈知识点往往是程序员被归为底端序列的最直接原因。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">以上只是一个例子，只是说明学习也需要分场景。学习语言也是一样的，我们要想想为什么不用当前的语言而要再选择一种新的语言。比如为什么不用 PHP 做机器学习？可能说到这个问题很多人就想笑，‘PHP 是世界上最好的语言’（因为喜爱所以容我自黑一下）。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">但是我们再来严肃的思考这个问题，请你思考一下。很多学习机器学习的人也是被潮流推着走，别人都学习 Python 来做及其学习那我也要学习 Python。当然人生苦短，你学习 Python 的选择是没有错的。在追着 Python 跑中不乏有一些 C、C++、Java 程序员。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">引用别人经常说的一句话 “几年前一帮人叫苦连天的说 Java 要死了但是 Java 死了吗？” 别再看着语言杞人忧天了，你更应该学会的是选择语言。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">当然招聘网站上，企业所需的程序员需掌握的语言种类，也是一部分程序员学习的方向。企业在选择一个语言的时候考虑的因素非常多，包括了之前项目所使用的语言情况、迁移的成本、人员培训成本、语言所耗费的硬件成本、人员沟通成本，最主要的是能否解决当前遇到问题的，以及解决问题需要耗费的时间。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">所以快速成长需要我们自己有主见地分场景来仔细探究技术细节，需要有极强的学习能力。</span></p><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);">PHP 程序员渴望的蜕变</span></h3><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">我同事的观点是这样的：PHP 程序员转型发展有两个方向，一个是更深层次的后端开发，可以熟悉 Go 或者 Java 语言然后找家这些语言相关的公司。例如在做 PHP 开发时很少有人去了解异步，协程，多线程等问题。另一个是转向前端，前端也是一个竞争非常大的区域，而且前端需要学习的东西并不比后端少。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">可能有些人说我要做全栈工程师，我和同事一致的观点是，别做一个样样都会，但样样都理解不深刻的全栈工程师。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">当然在这儿要给那些非常缺乏安全感的程序员说一声。PHP 并不会死。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">当前新浪、神马搜索、百度等公司都有使用 PHP 的场景而且设置了 PHP 的职位时，小公司就更不必说了。在中小型、短平快的业务中，PHP 依旧是首选。因为 PHP 刚开始的特性就是快速的开发网络应用。你要追逐其他的语言也不是不可，但是基础一定要别忘了慢慢打牢靠。别让自己的知识体系成为一个虚胖的胖子。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">另外，可能每个程序员都想赶快投入到人工智能和机器学习中。如果你还是想当这个领域的码农，那你可以看网上的各种文档教程来学习，像 TensorFlow 这种向外提供的 api 也比较多。如果你想在这个领域发展，还是得首先把那些经典算法搞清楚。</span></p><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);">干货，你需要的转型路线</span></h3><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">根据程序员开发工作所处的产品层面，程序员分为两类，分别是前端工程师和后端工程师。现在对开发工程师的分类更繁多了。我就从前端和后端这两类中给大家分享。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">其实 PHP 处于一个奇特的位置也是一件好事。有人说 PHP 是前端语言，有人说 PHP 是后端语言。这个界限也不是那么明显，解决表现层工作的语言我们一般说是前端语言，主要看用 PHP 来处理什么层面的问题。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">在你考虑转型之前，PHP 应该已经让你具有这些知识。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">首先是 MVC 模式的理解，这个不难，但是要懂得从这一出发点去扩展。例如 MVVM、MVP 模式等等，要能够明白它们之间的区别，但是理论往往是比较单一的东西，记得要结合项目区理解。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">还有一个需要掌握的知识就是 http 请求和响应，其实这个知识是我们一直在用的但是很多人都搞不明白，例如我们经常用浏览器的开发者模式在 Network 中点击某个请求就可以查看请求的 header。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">如下图：</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><img class="img_loading" style="visibility:visible !important;" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_png/Pn4Sm0RsAugBA1C4gUxwiarVFlRfVDrlXGTURsSia0KK9Ribx6IGaicaJbg8qfBYGPuOgLKjvAHXNA9LibToXjibzCibQ/0?wx_fmt=png" alt="0?wx_fmt=png" /></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">然后就是面向对象的思想，对面向对象，大家褒贬不一，尤其是越来越多的人对于函数式编程的推崇。其实两者各有优点，我们需要的是真正的理解面向对象所带来的优势和不足。希望 PHP 能让你理解各种类型的变量以及使用方法。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">PHP 中有四种标量类型，分别为 boolean、integer、float、string；三种复合类型，分别为 array、object、callable； 两种特殊类型，分别为：resource、NULL，当然还提供了一些伪类型。<br /></span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">如果你掌握了以上的内容，那你在转型的道路上可能更为轻松一些。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">首先来说说向前端的转型。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">如果要向前端转型，js 是必须要学习的。但是学习到什么程度呢？js 要学到什么程度也是大家最迷茫的一个问题。很多人可能会不断地啃 js 的语法。但是对于 js 这种知识点非常繁杂的东西，如果一直陷在语法中就得不偿失了。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">其实最主要的还是前端的思维。在掌握了 js 的一些基本类型操作，包括字符串、数组、对象、json 的处理后，就可以去看看 vue.js 或者 react 这样的框架。推荐大家从 vuejs 开始，比较简单，容易入门。当然 html 和 css 的基本用法还是需要了解的。在学习的过程中看别人的项目非常重要，可以去 github 搜索 vue.js 的一些项目，看看别人是怎么实现的。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">另一种转型方向是转向服务端开发。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">你需要选定一种比较常用的服务端开发语言。java 也好，go 也好，其他选择也非常多。从入门开始，如果有基础的程序员一定不要从厚厚的语法基础开始学习，因为这个过程非常浪费时间。在了解了最基本的语法后就可以开始选定一个框架来学习，在学习中发现问题，再回过头来学习语法。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">在这儿选择非常多，我不具体说明了，只给大家一个建议。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">很多程序员比较看好的是 go 语言，确实 go 语言相对其他语言来说简单，工程化中可靠，而且有着天然的开发标准，goroutine 给服务器开发带来好处。在国内，七牛云很早就使用 go 语言了，现在很多大的公司也开始使用 go 语言解决部分问题。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">由于人工智能和 python 的优势，很多人是走 python 路线的，但是如果走 python 路线，就请做好向数据挖掘、处理和计算的方向走。语言的选择见仁见智，最简单的依据就是看公司的需求程度。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">在深入服务端开发的路上需要了解的知识非常非常多，比如性能优化。很多人提到 redis 就是一句话，当做缓存来使用。这就是我前面提到的业务场景的问题，说明你所理解的业务场景太单一了，导致对于知识的认知不够。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">当然还有通讯机制的问题，相信很多人都非常陌生这些技术 MQ、Cron、RMI、RPC。我列举这些不是让大家马上买几本书去学习。记住，在你想要去学习某个技术之前，一定要先创造一个场景。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">程序员最需要的，也是每个程序员最缺乏的，就是交流。大家需要和其他程序员多交流、多交换意见，这样很有利于自己的成长。</span></p><h3 style="margin:15px 8px 1em;font-weight:bold;font-size:18px;white-space:normal;color:rgb(240,150,28);letter-spacing:1.5px;line-height:1.75em;"><span style="line-height:1.6;color:rgb(192,0,0);">总结</span></h3><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">互联网行业不是一个进入就可以高枕无忧的行业，你需要不断地学习，提升自己。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">想要进入这个行业的准程序员们也不要泄气，你要找到正确的方法和途径。很多线下的培训机构都稂莠不齐，请慎重选择。如果你学不会在网络中找资料，那就说明有问题了。因为现在网络资源这么发达，找资料是比较容易的。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">PHP 程序员不需要有太大的语言本身的危机感。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;">快速成长的关键是要对自己有一个正确的认识，不盲目跟风。注意根据场景来学习，能够思考并解决场景中遇到的问题，解决或优化瓶颈问题。这个过程中也是一个很好的学习过程。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;font-size:15px;color:rgb(85,85,85);letter-spacing:1.5px;line-height:1.75em;margin-bottom:1.5em !important;"><span style="color:#000000;line-height:1.6;font-size:16px;"><img class="img_loading" style="font-size:16px;letter-spacing:1px;white-space:normal;color:rgb(62,62,62);text-align:center;line-height:25.6px;background-color:rgb(255,255,255);visibility:visible !important;" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_jpg/Pn4Sm0RsAuhjy3ca4Zqcv1iaBIiaicaJANGWW4rmAicwXDViap40ia2ZrXjjz82MZmC92E79qvoPoYymXB4TiboeCAnwg/640?wx_fmt=jpeg" alt="640?wx_fmt=jpeg" /><img class="__bg_gif img_loading" style="font-size:16px;letter-spacing:1px;white-space:normal;color:rgb(62,62,62);text-align:center;line-height:1.6;display:inline;background-color:rgb(255,255,255);visibility:visible !important;" title="引导分享与赞" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_gif/Pn4Sm0RsAuhjy3ca4Zqcv1iaBIiaicaJANGjt7ChWnsia5qs2vHlM86GdicP61juQ6SLb2qBw7icsc6Vh8jy5eOYCPZg/0?wx_fmt=gif" alt="0?wx_fmt=gif" /></span></p></div>
                      </div>
    </article>
      <div class="readall_box csdn-tracking-statistics tracking-click" data-mod="popu_376">
          <div class="read_more_mask"></div>
          <a class="btn btn-large btn-gray-fred read_more_btn" target="_self">阅读全文</a>
      </div>
      <div class="article_copyright">
              </div>
      <ul class="article_collect clearfix csdn-tracking-statistics tracking-click"  data-mod="popu_378">
          <li class="tit">本文已收录于以下专栏：</li>
<!--          [startarticlecolumns]-->
                                <!--          [endarticlecolumns]-->
      </ul>
      <div class="comment_box clearfix">
          <div id="comment_form">
              <div id="commentsbmitarear">
                              </div>
          </div>
      </div>
      <div class="comment_li_outbox">
          <div id="comment_list"></div>
      </div>

      <div class="more_comment">
          <div id="comment_bar" class="trackgin-ad" data-mod="popu_385"></div>
      </div>

      <h3 class="recommend_tit" id="related">相关文章推荐</h3>
      <div class="recommend_list clearfix" id="rasss">
                                                                                      <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dt><a href="http://download.csdn.net/download/pingchangxinnet/872036" target="_blank" strategy="BlogCommendFromCsdn_0"><img class="maxwidth" src="http://csdnimg.cn/release/download/old_static/images/minetype/pdf.svg" alt="" title=""></a></dt>
                      <dd>
                          <div class="summary">
                              <h2><a href="http://download.csdn.net/download/pingchangxinnet/872036" target="_blank" strategy="BlogCommendFromCsdn_0">网络－讲义_全国信息技术人才培养工程远程教育平台</a></h2>
                              <div class="summary">
                                  <ul>
                                      <li class="time">2008年12月15日 11:46</li>
                                      <li class="visited_num fileSize">382KB</li>
                                      <li class="download_btn"><a href="http://download.csdn.net/download/pingchangxinnet/872036" target="_blank">下载</a></li>
                                  </ul>
                              </div>
                          </div>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dt><a href="http://download.csdn.net/download/wm360459196/3651938" target="_blank" strategy="BlogCommendFromCsdn_1"><img class="maxwidth" src="http://csdnimg.cn/release/download/old_static/images/minetype/doc.svg" alt="" title=""></a></dt>
                      <dd>
                          <div class="summary">
                              <h2><a href="http://download.csdn.net/download/wm360459196/3651938" target="_blank" strategy="BlogCommendFromCsdn_1">全国电子专业技术人才考试</a></h2>
                              <div class="summary">
                                  <ul>
                                      <li class="time">2011年10月01日 14:08</li>
                                      <li class="visited_num fileSize">53KB</li>
                                      <li class="download_btn"><a href="http://download.csdn.net/download/wm360459196/3651938" target="_blank">下载</a></li>
                                  </ul>
                              </div>
                          </div>
                      </dd>
                  </dl>
                                                                                      <script>
                      (function() {
                          var s = "_" + Math.random().toString(36).slice(2);
                          document.write('<div id="' + s + '"></div>');
                          (window.slotbydup=window.slotbydup || []).push({
                              id: '4765209',
                              container: s,
                              size: '808,120',
                              display: 'inlay-fix'
                          });
                      })();
                  </script>
                                                                <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/u010363836/article/details/45165983"  target="_blank" strategy="BlogCommendFromCsdn_2">技术人才的出路在哪里,5种选择和2种思路</a></h2>
                          <div class="summary">
                              作为一名对技术很感兴趣的技术人，一直在探索自己的出路。

   为什么会有这个问题呢？

   随便一个懂技术的人，吃饱穿暖太简单了。问题是，稍微厉害一点的技术人，都有自己的野心或志向。 

   有...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/u010363836" target="_blank" strategy="BlogCommendFromCsdn_2"><img src="http://avatar.csdn.net/9/2/1/3_u010363836.jpg" alt="u010363836" title="u010363836"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/u010363836">u010363836</a></li>
                              <li class="time">2015年04月21日 09:13</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>692</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/dangerous_fire/article/details/6579057"  target="_blank" strategy="BlogCommendFromCsdn_3">如何面试到优秀的技术人才</a></h2>
                          <div class="summary">
                              优秀的技术人才就是公司发展的关键，看了“为什么新人不会编程”后有感如何从众多应聘者中找出他们。 为什么挑选出出色的技术人才很困难？因为“目前通过行业标准化的软件面试所需要的技能并不是一个优秀的软件开发...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/dangerous_fire" target="_blank" strategy="BlogCommendFromCsdn_3"><img src="http://avatar.csdn.net/1/3/3/3_dangerous_fire.jpg" alt="dangerous_fire" title="dangerous_fire"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/dangerous_fire">dangerous_fire</a></li>
                              <li class="time">2011年07月01日 11:25</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>444</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/u010243043/article/details/43272823"  target="_blank" strategy="BlogCommendFromCsdn_4">一个高端.net技术人才的2014年度总结</a></h2>
                          <div class="summary">
                              一个总结，至关重要。                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/u010243043" target="_blank" strategy="BlogCommendFromCsdn_4"><img src="http://avatar.csdn.net/0/1/1/3_u010243043.jpg" alt="u010243043" title="u010243043"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/u010243043">u010243043</a></li>
                              <li class="time">2015年01月29日 16:26</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>349</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                        <!-- 广告位：PC端-博客详情通栏7（feed流）-808*120 -->
                  <script>
                      (function() {
                          var s = "_" + Math.random().toString(36).slice(2);
                          document.write('<div id="' + s + '"></div>');
                          (window.slotbydup=window.slotbydup || []).push({
                              id: '4983339',
                              container: s,
                              size: '808,120',
                              display: 'inlay-fix'
                          });
                      })();
                  </script>
                                                                              <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/skyhsu/article/details/6202296"  target="_blank" strategy="BlogCommendFromCsdn_5">转:技术人才如何转行做管理_茜茜_新浪博客</a></h2>
                          <div class="summary">
                              技术人才如何转行做管理(2007-12-01 09:42:42)标签：职场/励志    从技术转管理是很多优秀技术工程师的愿望。在美国，技术人员与管理人员在企业的地位平分秋色；在国内，企业内大多有技术...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/skyhsu" target="_blank" strategy="BlogCommendFromCsdn_5"><img src="http://avatar.csdn.net/5/6/5/3_skyhsu.jpg" alt="skyhsu" title="skyhsu"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/skyhsu">skyhsu</a></li>
                              <li class="time">2011年02月23日 13:52</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>540</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/jiaminbao/article/details/43022893"  target="_blank" strategy="BlogCommendFromCsdn_6">IT技术人才的出路</a></h2>
                          <div class="summary">
                              1]好好规划自己的路，不要跟着感觉走！根据个人的理想决策安排，绝大部分人并不指望成为什么院士或教授，而是希望活得滋润一些，爽一些。那么，就需要慎重安排自己的轨迹。从哪个行业入手，逐渐对该行业深入了解，...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/jiaminbao" target="_blank" strategy="BlogCommendFromCsdn_6"><img src="http://avatar.csdn.net/F/C/8/3_jiaminbao.jpg" alt="jiaminbao" title="jiaminbao"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/jiaminbao">jiaminbao</a></li>
                              <li class="time">2015年01月22日 18:10</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>982</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/DSLZTX/article/details/50520218"  target="_blank" strategy="BlogCommendFromCsdn_7">技术人才流向了哪里？</a></h2>
                          <div class="summary">
                              大公司一定比小公司对程序员更有吸引力吗？技术人才流向了哪里？虽然 500 人以上规模的 C 轮、D 轮和上市公司对新员工最大方，平均薪资涨幅 35%，但是只招到了 40%的技术人才；大部分的技术人才跳...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/DSLZTX" target="_blank" strategy="BlogCommendFromCsdn_7"><img src="http://avatar.csdn.net/9/B/A/3_dslztx.jpg" alt="DSLZTX" title="DSLZTX"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/DSLZTX">DSLZTX</a></li>
                              <li class="time">2016年01月14日 21:05</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>457</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/likika2012/article/details/48026191"  target="_blank" strategy="BlogCommendFromCsdn_8">Offer被拒后，张一鸣决定跟技术人才聊聊，你的下一份工作应该在哪里</a></h2>
                          <div class="summary">
                              张一鸣2015-08-26 21:44

今日头条
49 8





虎嗅注：今日头条，一家以技术为主导的公司，近日在招人上碰到了点闹心的事。这样一家估值30亿估值的公司在向心仪的...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/likika2012" target="_blank" strategy="BlogCommendFromCsdn_8"><img src="http://avatar.csdn.net/0/0/C/3_likika2012.jpg" alt="likika2012" title="likika2012"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/likika2012">likika2012</a></li>
                              <li class="time">2015年08月27日 13:15</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>632</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/xi_hong_shi/article/details/7750112"  target="_blank" strategy="BlogCommendFromCsdn_9">十大最急需IT技术人才榜：Java开发人员领跑</a></h2>
                          <div class="summary">
                              北京时间7月13日消息，根据Dice网站最新的调查显示，本月“最急需的十大IT技术”Java开发人员排到首位，紧随其后的是移动应用程序开发人员和NET开发人员。
该数据显示，软件开发人员名列第四。不...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/xi_hong_shi" target="_blank" strategy="BlogCommendFromCsdn_9"><img src="http://avatar.csdn.net/F/1/8/3_xi_hong_shi.jpg" alt="xi_hong_shi" title="xi_hong_shi"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/xi_hong_shi">xi_hong_shi</a></li>
                              <li class="time">2012年07月16日 09:20</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>1899</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                    </div>
  </main>
<aside>
  <div class="right_box user_info">
      <dl class="inf_bar clearfix">
          <dt class="csdn-tracking-statistics tracking-click" data-mod="popu_381">
              <a href="http://blog.csdn.net/csdnnews" target="_blank">
                  <img src="http://avatar.csdn.net/C/3/E/3_csdnnews.jpg" class="avatar_pic">
              </a>
              <span class="medals" title="">
                        <svg class="icon" aria-hidden="true">
                  <use xlink:href="#icon-bokezhuanjia"></use>
              </svg>
                  </span>
          </dt>
          <dd>
              <h3 class="csdn-tracking-statistics tracking-click"  data-mod="popu_380"><a href="http://blog.csdn.net/csdnnews" target="_blank" id="uid">csdnnews</a></h3>
              <span  class="csdn-tracking-statistics tracking-click" data-mod="popu_379"><a class="btn btn-redborder-small "  id="span_add_follow" target="_self">＋关注</a></span>
          </dd>
      </dl>
      <div class="inf_number_box clearfix">
          <dl>
              <dt>原创</dt>
              <dd>133</dd>
          </dl>
          <dl>
              <dt>粉丝</dt>
              <dd id='fan'>555</dd>
          </dl>
          <dl>
              <dt>喜欢</dt>
              <dd>558</dd>
          </dl>
          <dl>
        <dt>码云</dt>
        <dd>&nbsp;</dd>
      </dl>

      </div>
  <div class="writings">
        <div class="public_signal clearfix">
          <h3>他的最新文章</h3>
          <a href="http://blog.csdn.net/csdnnews" target="_blank" class="more"><span>更多文章</span></a>
        </div>
          <ul class="inf_list clearfix csdn-tracking-statistics tracking-click" data-mod="popu_382">
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888939" target="_blank">微信官方都辟谣，可真有技术人用 AI、大数据实现头像添加圣诞帽了！</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888938" target="_blank">腾讯京东要建“反阿里联盟”？Python 或成 Excel 官方脚本语言；百度华为在一起 | 一周业界事</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888936" target="_blank">微软实习期的我，纠正了一位高级开发人员的错误......</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888934" target="_blank">价格逼近 2 万美元大关，比特币到底是不是庞氏骗局？</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78883355" target="_blank">如何从技术上实现「朋友圈@微信官方头像添加圣诞帽」？</a>
              </li>
                        </ul>
      </div>
  </div>
    <div class="user-hotArticle">
        <h3><a href="#related" >相关推荐</a></h3>
        <ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_563">
<!--           [StartRelatedArticles]-->
                                                <li>
                        <a href="http://download.csdn.net/download/pingchangxinnet/872036" target="_blank" strategy="BlogRightReleated_0">网络－讲义_全国信息技术人才培养工程远程教育平台</a>
                                                <div class="read list-left"><i class="icon iconfont icon-read"></i><span>2</span></div>
                                            </li>
                                    <li>
                        <a href="http://download.csdn.net/download/wm360459196/3651938" target="_blank" strategy="BlogRightReleated_1">全国电子专业技术人才考试</a>
                                                <div class="read list-left"><i class="icon iconfont icon-read"></i><span>0</span></div>
                                            </li>
                                    <li>
                        <a href="http://blog.csdn.net/u010363836/article/details/45165983" target="_blank" strategy="BlogRightReleated_2">技术人才的出路在哪里,5种选择和2种思路</a>
                                            </li>
                                    <li>
                        <a href="http://blog.csdn.net/dangerous_fire/article/details/6579057" target="_blank" strategy="BlogRightReleated_3">如何面试到优秀的技术人才</a>
                                            </li>
                            <!--            [EndRelatedArticles]-->
        </ul>
    </div>
  <div class="extension_other csdn-tracking-statistics tracking-click" data-mod="popu_389">
     <!--u3032528-->
    <div class="flashrecommend">
        <script type="text/javascript" src="http://mpb1.iteye.com/bwocoltlyzdec.js"></script>
    </div>
  </div>

<!--    [StartShowSelfColumn]-->
    <!--    [EndShowSelfColumn]-->
    <div class="fixRight">
        <!-- 广告位：PC端-博客详情右侧视窗2（feed流）-300*300 -->
        <script>
            (function() {
                var s = "_" + Math.random().toString(36).slice(2);
                document.write('<div id="' + s + '"></div>');
                (window.slotbydup=window.slotbydup || []).push({
                    id: '5384130',
                    container: s,
                    size: '300,300',
                    display: 'inlay-fix'
                });
            })();
        </script>
        <div class="extension_other csdn-tracking-statistics tracking-click bottomRcom" data-mod="popu_389" style="position:absolute;z-index:-5;opacity:0;pointer-events:none">
            <!--u3032528-->
            <div class="flashrecommend">
                <!-- 请置于所有广告位代码之前 -->
                <script src="http://dup.baidustatic.com/js/dm.js"></script>

                <!-- 广告位：PC端-博客详情页右侧视窗1（feed流）-300*250 -->
                <script>
                    (function() {
                        var s = "_" + Math.random().toString(36).slice(2);
                        document.write('<div id="' + s + '"></div>');
                        (window.slotbydup=window.slotbydup || []).push({
                            id: '4770930',
                            container: s,
                            size: '300,250',
                            display: 'inlay-fix'
                        });
                    })();
                </script>
            </div>
        </div>

    </div>
    <div class="user-hotArticle">
        <h3>他的热门文章</h3>
        <ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_521">
<!--            [StartHotArticles]-->
                                                <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78259290">Wi-Fi 爆重大安全漏洞，Android、iOS、Windows 等所有无线设备都不安全了</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>374730</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78557392">数百种编程语言，而我为什么要学 Python？</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>46072</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78248699">一文总结学习 Python 的 14 张思维导图</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>30988</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78280033">一个 38 岁程序员的中年危机</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>30835</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78838709">2018 最具就业前景的 7 大编程语言，Java、Python 和 JavaScript 前三无悬念？</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>28328</span></div>
                    </li>
                            <!--            [EndHotArticles]-->
        </ul>
    </div>
<!--    [startcustom]-->
    <!--    [endcustom]-->
</aside></div>

<div class="left_fixed">
    <div class="left_show_button">
        <span>
          <i class="icon iconfont icon-youjiantou"></i>
        </span>
    </div>
    <ul class="left_menu">
        <li>
            <button class="left-fixed-btn btn-like csdn-tracking-statistics tracking-click" data-mod="popu_373" target="_self">
                <a href="javascript:void(0);" class="iconbox border_red"><i class="icon iconfont icon-dianzan"></i></a>
                <a class="txt" href="javascript:void(0);">0</a>
            </button>
        </li>
        <li id="blog_artical_directory">
            <button class="left-fixed-btn left_menu_btn csdn-tracking-statistics tracking-click" data-mod="popu_372" target="_self">
                <a href="javascript:void(0);" class="iconbox border_black"><i class="icon iconfont icon-mulu"></i></a>
            </button>
        </li>
        <li class="menu_con">
            <div class="list_father">
                <div class="arr_box">
                    <button class="btn-noborder arr-btn scroll-down  left_scroll_down"><i class="icon iconfont icon-xiajiantou"></i></button>
                    <button class="btn-noborder arr-btn scroll-up left_scroll_top"><i class="icon iconfont icon-shangjiantou"></i></button>
                </div>
                <div class="arr"></div>
                <div id="csdnBlogDir"></div>
            </div>
        </li>
        <!--        <li>-->
        <!--            <button class="left-fixed-btn btn-like tracking-ad" data-mod="popu_373" target="_self">-->
        <!--                <span class="iconbox border_red"><i class="icon iconfont icon-xihuan-"></i></span>-->
        <!--                <span class="txt">喜欢</span>-->
        <!--                <span class="untxt">取消喜欢</span>-->
        <!--            </button>-->
        <!--        </li>-->
        <li>
            <button class="left-fixed-btn csdn-tracking-statistics tracking-click" data-mod="popu_374"  id="com-quick-collect" target="_self">
                <a href="javascript:void(0);" class="iconbox border_purple"><i class="icon iconfont icon-shoucang"></i></a>
            </button>
        </li>
        <li>
            <button class="left-fixed-btn btn-pinglun csdn-tracking-statistics tracking-click" data-mod="popu_544" >
                <a href="javascript:void(0);" class="iconbox border_purple"><i class="icon iconfont icon-pinglun"></i></a>
            </button>
        </li>
        <li id="share_box">
            <button class="left-fixed-btn  csdn-tracking-statistics tracking-click"  data-mod="popu_375" target="_self">
                <a href="javascript:void(0);" class="iconbox border_orange"><i class="icon iconfont icon-fenxiang"></i></a>
            </button>
            <div class="bdsharebuttonbox csdn-tracking-statistics tracking-click" data-mod="popu_172">
                <div class="outside">
                    <span class="iconbox border_red2"><i class="icon iconfont icon-xinlang"></i></span>
                    <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"> </a>
                </div>
                <div class="outside">
                    <span class="iconbox border_green"><i class="icon iconfont icon-weixin"></i></span>
                    <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"> </a>
                </div>
                <div class="outside">
                    <span class="iconbox border_blue"><i class="icon iconfont icon-QQ"></i></span>
                    <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"> </a>
                </div>
            </div>
        </li>
    </ul>
</div>
<div class="right_fixed">
    <div class="r_ico">
        <i class="icon iconfont icon-jubao"></i>
        <span class="txt" id="reportBtn">内容举报</span>
    </div>
    <div class="returnTop">
        <i class="icon iconfont icon-fanhuidingbu"></i>
        <span>返回顶部</span>
    </div>
</div>
<div id="pop_win"></div>
<div id="popup_mask"></div>
<div class="pop_CA_cover" ></div>
<div class="pop pop_CA" >
    <div class="CA_header">
        收藏助手
        <span class="cancel_icon"  id="fapancle" ></span>
    </div>
    <iframe src="" id="collectIframe" frameborder="0" width="100%" height="360"  scrolling="no" ></iframe>
</div>
<!--举报-->
<div id="report_dialog" style="top: 250px; left: 343.5px;"><div id="panel_report">
    <div class="panel_head">不良信息举报</div>
    <form method="post" id="frmReport" class="panel_body">
        <table border="0" cellpadding="0" cellspacing="4" class="pop_table">
            <tbody><tr><td colspan="2">您举报文章：<a href="http://blog.csdn.net/csdnnews/article/details/78903356" target="_blank">PHP 程序员危机：如何快速成长为不可或缺的技术人才？</a></td></tr>
            <tr>
                <th style="width:60px;">举报原因：</th>
                <td id="panel_reporttype">
                    <label><input type="radio" class="report_type" id="report_sex" name="report_type" value="1">色情</label>
                    <label><input type="radio" class="report_type" id="report_Politics" name="report_type" value="2">政治</label>
                    <label><input type="radio" class="report_type" id="report_copy" name="report_type" value="3">抄袭</label>
                    <label><input type="radio" class="report_type" id="report_ad" name="report_type" value="4">广告</label>
                    <label><input type="radio" class="report_type" id="report_want" name="report_type" value="5">招聘</label>
                    <label><input type="radio" class="report_type" id="report_call" name="report_type" value="6">骂人</label>
                    <br>
                    <label><input type="radio" class="report_type" id="report_other" name="report_type" value="7">其他</label>
                    <input type="text" name="report_other_content" id="report_other_content" maxlength="30" style="display: none;">
                </td>
            </tr>
            <tr id="panel_originalurl" style="display: none;">
                <th>原文地址：</th>
                <td>
                    <input id="originalurl" value="http://" name="originalurl" type="text" style="width: 90%;">
                </td>
            </tr>
            <tr>
                <th id="sp_reason">原因补充：</th>
                <td>
                    <textarea id="report_description" style="width: 300px;" rows="3" name="report_description"></textarea>
                    <p id="sp_n" style="color:#999;margin:0px;padding:0px;">(最多只允许输入30个字)</p>
                </td>
            </tr>
            <tr>
                <td></td>
                <td>
                    <input id="btnSubmitReport" name="submit" type="image" align="middle" class="btn_1" src="http://csdnimg.cn/release/phoenix/images/btn_submit.jpg">
                    <span style="padding-left:20px;"></span>
                    <img id="btnCloseReportDialog" src="http://csdnimg.cn/release/phoenix/images/btn_cancel.jpg" align="middle">
                    <div id="error" style="color: Red">
                    </div>
                </td>
            </tr>
            </tbody></table>
    </form>
</div>
    <script language="javascript" type="text/javascript">
        var isComment=0;
        //显示隐藏地址
        $(function () {
          console.log("version:phoenix");
            if(isComment){
                $("#report_description").attr("disabled",true);
                $("#sp_n").hide();
                $("#sp_reason").html("评论内容：");
            }
            $(".report_type").click(function () {
                $("#panel_originalurl,#report_other_content").hide();
                switch ($(this).val()) {
                    case '3':
                        $("#panel_originalurl").show();
                        $("#originalurl").focus();
                        break;
                    case '7':
                        if(isComment){
                            $("#report_other_content").show().focus();
                        }
                        break;
                }

            });

            $("#frmReport").submit(function () {
                if (!currentUserName) {

                    if (confirm("您的操作必须登录，是否登录？")) {
                        location.href = "http://passport.csdn.net/account/login?from=" + encodeURIComponent(location.href);
                        return false;
                    }
                    return false;
                }

                var reportType = $("input[name=report_type]:checked").val();
                if(!reportType){
                    alert("请选择举报原因！");
                    return false;
                }
                var otherInfo = "";
                switch (reportType) {
                    case '3':
                        otherInfo = $("#originalurl").val();
                        if (otherInfo == ""||otherInfo=="http://") {
                            alert("举报抄袭必须提供原创文章地址！");
                            $("#originalurl").focus();
                            return false;
                        } else if(!checkeURL(otherInfo)) {
                            alert("请输入正确的原创文章地址！");
                            $("#originalurl").focus();
                            return false;
                        }
                        break;
                    case '7':
                        otherInfo = $("#report_other_content").val();
                        if (isComment && !otherInfo) {
                            alert("请填写举报的具体原因！");
                            $("#report_other_content").focus();
                            return false;
                        }
                        if(!isComment){
                            if(!$("#report_description").val()){
                                alert("请填写举报的具体原因！");
                                $("#report_description").focus();
                                return false;
                            }
                        }
                        break;
                }
                if(!isComment){
                    if($("#report_description").val().length>30){
                        alert("举报原因最多只允许输入30个字！");
                        return false;
                    }
                }
	            nowTime = {
		            year: new Date().getFullYear(),
		            month: parseInt(new Date().getMonth())+1,
		            day: new Date().getDate(),
		            hours: parseInt(new Date().getHours())+1,
		            minutes: parseInt(new Date().getMinutes())+1,
		            seconds: parseInt(new Date().getSeconds())+1
	            };
	            var data = {
		            articleId: fileName,
		            commentId: 0,
		            reportType: reportType,
		            originalurl: $("#originalurl").val(),
		            report_other_content: $("#report_other_content").val(),
		            report_description: $("#report_description").val(),
		            currentUserName: currentUserName,
		            updatetime: nowTime.year+'/'+nowTime.month+'/'+nowTime.day+' '+ nowTime.hours+':'+nowTime.minutes+':'+seconds,
		            blogUser: username
	            };
	            if(!isComment){//如果是举报文章
		            data.report_other_content = data.report_description;
		            // data.report_description = "1. 神经网络这是一个常见的神经网络的图：这是一个常见的三层神经网络的基本构成，Layer L1是输入层，Layer L2是隐含层";
	            }

	            $.post(blog_address + "/common/report?id="+fileName+"&t=2", data, function (data) {
		            if (data.result == 1){
			            SetError("感谢您的举报，我们会尽快审核！");
		            }else{
			            if (data.content) alert(data.content);
		            }

	            });
                return false;
            });

            $("#btnCloseReportDialog").click(function () {
                CloseDiv();
            });

        });

        //提示后关闭方法
        function SetError(error) {
            $("#btnCloseReportDialog").trigger("click");
            alert(error);
            CloseDiv();
        }

        //关闭方法
        function CloseDiv() {

            $.removeMask();
            $("#report_dialog").hide();
            return false;
        }

        //验证url
        function checkeURL(url){
            return /^http(s)?:\/\/([\w-]+\.)+[\w-]+/i.test(url);
        }
    </script>
</div>
<!--  fixme 后期清理掉  -->
<div id="a52b5334d" style="width: 1px; height: 1px; display: none;">
    <script id="adJs52b5334"></script>
    <script>document.getElementById("adJs52b5334").src = "http://ads.csdn.net/js/opt/52b5334.js?t=" + Math.random();</script>
</div>
<script src="http://c.csdnimg.cn/public/common/libs/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://csdnimg.cn/release/phoenix/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script> -->
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<script type="text/javascript" >
    if($(".article_collect li").length==1){$(".article_collect").hide();}
    if($(".article_tags li").length==1){$(".article_tags").hide();}
    $(".edit a").attr("href","http://write.blog.csdn.net/postedit/"+fileName);
    $.each($(".edu_li a"),function(){$(this).attr("href",$(this).attr("href").replace("blog7","blog9"))});
    new CNick('#uid').showNickname();

    if($("#fan").html()=="")
    {
	    $("#fan").html(0);
    }
</script>
<script src="http://c.csdnimg.cn/public/common/append_mark/appendMark.min.js?v=5.00.43" type="text/javascript"></script>
<script type="text/javascript">
    appendMark($('.recommend_list').children('a').find('dt'),$('.extension_other'))
</script>
<div class=""id="loginWrap"></div>
<div class="" id="dlMask"></div>
</body>
